#include <iostream>
using namespace std;

/*
    cin >> 不要取地址
*/

int main()
{
    char ch;
    cout << "请输入一个字符" << endl;
    cin >> &ch; // 正确应该为 cin >> ch; 但是这样编译器认为都正确，逻辑上是错误的
    cout << ch << endl;
}

// &ch 是char *类型的指针，C++会当成是用来存放某个字符串首地址的指针
// 万一故意输入很长的字符串，导致ch指针指向的内存空间不够，程序就会崩溃
// char ch; 合法内存空间仅有一个字符，越界了就会出现段错误